1. Field of the Invention
The present invention is generally related to program development environment and, more particularly, is related to a system and method for performing an automated incremental compilation of computer programs.
2. Description of the Related Art
As is known in the computer and software arts, an executable file (i.e. an executable object program) is typically composed of several separately compiled object modules and libraries. In the past, all of the code necessary to build an executable file was usually linked into one monolithic file.
However, when a developer is developing a new program for a computer system, the new program must be tested as part of the system. In order to test the functionality of the program within the system, the program containing the new functionality must be compiled and linked into an executable file in order to be executed and therefore tested. The link editing of all of the base programs along with the new program containing the new functionality can require a significant amount of time to complete.
Therefore, it is often desirable to utilize a technology that allows a programmer to link edit the new program or changed program into an existing executable system. One way to accomplish this is through the use of incremental linking. The incremental linking is a process in which the link editor modifies the original base executable system, instead of re-generating the executable object. The modified linker generates an executable system from the original executable object and the new code and data is laid over top or placed in areas reserved for new code and data. A method and apparatus for incremental linking is described in the commonly assigned U.S. Pat. No. 5,561,800, entitled xe2x80x9cMethod and Apparatus for Incremental Linking Modifying Routines into Softwarexe2x80x9d, issued on Oct. 1, 1996, herein incorporated in its entirety by reference.
The problem with the current system and methods for incremental linking of modified routines into software is that the current system and methods (1) supports only a single developer at a time and (2) require each developer to manually configure the process set-up.
Heretofore, software developers have lacked a system and method for performing incremental compilation of computer programs in a more efficient way.
The present invention provides a system and method for performing automated incremental compilation of computer programs. Briefly described, in architecture, the system can be implemented as follows. The system provides for a library generation logic that generates a dynamic link library of a plurality of computer programs, and a work area creation logic that creates a program work area. A program copy logic copies at least one computer program into the program work area to enable the computer program to be modified. A program generation logic generates an executable program that includes all of the computer programs in the program work area and the plurality of computer programs in the dynamic link library.
The present invention can also be viewed as providing a method for automated incremental compilation of computer programs. In this regard, the method can be broadly summarized by the following steps: (1) generating a dynamic link library of a plurality of computer programs; (2) providing a program work area; (3) copying at least one of the plurality of computer programs into the program work area; (4) permitting modification of at least one of the plurality of computer programs in the program work area; and (5) generating an executable program including all of the computer programs in the program work area and the plurality of computer programs in the dynamic link library.